Declarative Meta Level Control for Logic Programs
نویسندگان
چکیده
In conventional logic programming systems, control information is expressed by clause and goal order and by purely procedural constructs, e.g., the Prolog cut. This approach destroys the equivalence of declarative and procedural semantics in logic programs. In this paper, we argue that in order to comply with the logic programming paradigm, control information should also be expressed declaratively. A program should be divided into a logical theory that speciies the problem to be solved and control information that speciies the strategy of the deduction process. Control information is expressed through meta level control clauses. These control clauses are evaluated dynamically in order to select the subgoal that will be resolved next and to select the resolving clause. Program clauses have guards that allow clause determinism to be expressed. A major design goal for the presented work is to keep the declarative and the procedural semantics of logic programs equivalent. The emphasis lies on the precise speciication of the introduced meta level constructs.
منابع مشابه
Meta-Programming for Generalized Horn Clause Logic
In conventional logic programming systems, control information is expressed by clause and goal order and by purely procedural constructs, e.g., the Prolog cut. This approach destroys the equivalence of declarative and procedural semantics in logic programs. In this paper, we argue that in order to comply with the logic programming paradigm, control information should also be expressed declarati...
متن کاملPutting Declarative Meta Control to Work
We present a logic programming system that accomplishes three important goals: equivalence of declarative and operational semantics, declarative specification of control information, and smoothness of interaction with nonlogic-based programs. The language of the system is that of Generalized Horn Clause Intuitionistic Logic with negation as inconsistency. Meta level predicates are used to speci...
متن کاملPutting Declarative Meta Control to Work ; CU-CS-856-98
We present a logic programming system that accomplishes three important goals: equivalence of declarative and operational semantics, declarative specification of control information, and smoothness of interaction with nonlogic-based programs. The language of the system is that of Generalized Horn Clause Intuitionistic Logic with negation as inconsistency. Meta level predicates are used to speci...
متن کاملA self-applicable partial evaluator for the logic programming language Goedel
Partial evaluation is a program specialisation technique that has been shown to have great potential in logic programming, particularly for the specialisation of meta-interpreters by the so-called “Futamura Projections”. Meta-interpreters and other meta-programs are programs which use another program as data. In this thesis we describe a partial evaluator for meta-programs in the logic programm...
متن کاملEffective meta-programming in declarative languages
Declarative meta-programming is vital, since it is the most promising means by which programs can be made to reason about other programs. A metaprogram is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a logic that has a model theory. A meta-program operates on a representation of an object program....
متن کامل